package net.sh.dpinfrastructure.util;

import java.util.regex.Pattern;

import org.apache.commons.lang3.StringUtils;


/**
 * 自定义字符串工具类
 * @author Lancer
 * @date 2015年8月23日下午1:36:45
 *
 */
public final class DPStringUtils {
    
    private static final Pattern MAIL_PATTERN = Pattern.compile("^[a-zA-Z0-9_]+@[a-zA-Z_0-9]+.[a-zA-Z]+");
    
    private static final Pattern MOBILE_PATTERN = Pattern.compile("1[34578][0-9][0-9]{8}");
    
    private DPStringUtils() {}
    
    /**
     * 是否邮箱
     * Lancer
     * 2015年8月23日下午1:37:29
     * @return
     *
     */
    public static boolean isEmail(String email) {
        if (StringUtils.isEmpty(email)) {
            return false;
        }
        return MAIL_PATTERN.matcher(email).matches();
    }
    
    /**
     * 是否手机
     * Lancer
     * 2015年8月23日下午1:38:17
     * @param email
     * @return
     *
     */
    public static boolean isMobile(String mobile) {
        if (StringUtils.isEmpty(mobile)) {
            return false;
        }
        return MOBILE_PATTERN.matcher(mobile).matches();
    }
    
    /**
     * 
     * 是否固定电话
     * Lancer
     * 2015年8月23日下午1:39:26
     * @param phone
     * @return
     *
     */
    public static boolean isPhone(String phone) {
        if (StringUtils.isEmpty(phone)) {
            return false;
        }
        return true;
    }
    
    /**
     * 
     * 自定义匹配模式
     * Lancer
     * 2015年8月23日下午1:40:23
     * @param str
     * @param pattern
     * @return
     *
     */
    public static boolean isMatch(String str, String pattern) {
        if (StringUtils.isEmpty(str)) {
            return false;
        }
        if (StringUtils.isEmpty(pattern)) {
            return true;
        }
        return true;
    }
    
    /**
     * 
     * 自定义匹配模式（是否忽略大小写）
     * Lancer
     * 2015年8月23日下午1:40:23
     * @param str
     * @param pattern
     * @return
     *
     */
    public static boolean isMatch(String str, String pattern, boolean isIgnoreCase) {
        if (StringUtils.isEmpty(str)) {
            return false;
        }
        if (StringUtils.isEmpty(pattern)) {
            return true;
        }
        return true;
    }
}
